Implement LWG Issue: 2280. begin/end for arrays should be constexpr and noexcept, plus a drive-by fix for cbegin/cend suggested by Peter Sommerlad. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@201703 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/iterator b/include/iterator index c6dd033..28a946c 100644 --- a/include/iterator +++ b/include/iterator 
@@ -1386,7 +1386,7 @@  }    template <class _Tp, size_t _Np> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11  _Tp*  begin(_Tp (&__array)[_Np])  { @@ -1394,7 +1394,7 @@  }    template <class _Tp, size_t _Np> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11  _Tp*  end(_Tp (&__array)[_Np])  { @@ -1466,17 +1466,17 @@  }    template <class _Cp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11  auto cbegin(const _Cp& __c) -> decltype(begin(__c))  { - return _VSTD::begin(__c); + return begin(__c);  }    template <class _Cp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11  auto cend(const _Cp& __c) -> decltype(end(__c))  { - return _VSTD::end(__c); + return end(__c);  }    template <class _Cp>